home *** CD-ROM | disk | FTP | other *** search
Wrap
Latex Auxiliary File | 1995-05-30 | 45.0 KB | 891 lines | [ TEXT/MPS ]
\relax \@writefile{toc}{\string\contentsline\space {section}{\string\numberline\space {1}Converting a {\string\ptt\space noweb} file to tool markup}{2}} \@writefile{toc}{\string\contentsline\space {subsection}{\string\numberline\space {1.1}Main program}{2}} \newsublabel{NWmarB-staU-1}{{}{3}} \nwixadd{\nwixd }{state}{NWmarB-staU-1} \nwixadd{\nwixd }{mark}{NWmarB-staU-1} \nwixadd{\nwixd }{index}{NWmarB-staU-1} \nwixadd{\nwixd }{print:unstate}{NWmarB-staU-1} \nwixadd{\nwixd }{print:unindex}{NWmarB-staU-1} \nwixadd{\nwixd }{print:unpair}{NWmarB-staU-1} \nwixadd{\nwixu }{strlen}{NWmarB-staU-1} \newsublabel{NWmarB-*-1}{{}{4}} \nwixadd{\nwixd }{markup}{NWmarB-*-1} \nwixadd{\nwixu }{getline}{NWmarB-*-1} \nwixadd{\nwixu }{mark}{NWmarB-*-1} \nwixadd{\nwixu }{module}{NWmarB-*-1} \nwixadd{\nwixu }{state}{NWmarB-*-1} \newsublabel{NWmarB-copq-1}{{}{6}} \nwixadd{\nwixu }{first:undoc:unline}{NWmarB-copq-1} \nwixadd{\nwixu }{getline:unexpand}{NWmarB-copq-1} \nwixadd{\nwixu }{getmodname}{NWmarB-copq-1} \nwixadd{\nwixu }{impossible}{NWmarB-copq-1} \nwixadd{\nwixu }{is:undef}{NWmarB-copq-1} \nwixadd{\nwixu }{print:unpair}{NWmarB-copq-1} \nwixadd{\nwixu }{print:unstate}{NWmarB-copq-1} \nwixadd{\nwixu }{starts:uncode}{NWmarB-copq-1} \nwixadd{\nwixu }{starts:undoc}{NWmarB-copq-1} \nwixadd{\nwixu }{state}{NWmarB-copq-1} \newsublabel{NWmarB-remq-1}{{}{7}} \nwixadd{\nwixu }{strlen}{NWmarB-remq-1} \newsublabel{NWmarB-addf-1}{{}{7}} \nwixadd{\nwixu }{print:unpair}{NWmarB-addf-1} \newsublabel{NWmarB-conJ-1}{{}{7}} \nwixadd{\nwixu }{mark}{NWmarB-conJ-1} \nwixadd{\nwixu }{mod:unend}{NWmarB-conJ-1} \nwixadd{\nwixu }{mod:unstart}{NWmarB-conJ-1} \nwixadd{\nwixu }{module}{NWmarB-conJ-1} \nwixadd{\nwixu }{print:unpair}{NWmarB-conJ-1} \nwixadd{\nwixu }{unescape}{NWmarB-conJ-1} \newsublabel{NWmarB-conS-1}{{}{7}} \nwixadd{\nwixu }{mark}{NWmarB-conS-1} \nwixadd{\nwixu }{print:unpair}{NWmarB-conS-1} \nwixadd{\nwixu }{quote:unend}{NWmarB-conS-1} \nwixadd{\nwixu }{quote:unstart}{NWmarB-conS-1} \nwixadd{\nwixu }{unescape}{NWmarB-conS-1} \newsublabel{NWmarB-emie-1}{{}{8}} \nwixadd{\nwixu }{print:unindex}{NWmarB-emie-1} \nwixadd{\nwixu }{remove:undef:unmarker}{NWmarB-emie-1} \newsublabel{NWmarB-comn-1}{{}{8}} \nwixadd{\nwixu }{errorat}{NWmarB-comn-1} \newsublabel{NWmarB-Ched-1}{{}{8}} \nwixadd{\nwixu }{errorat}{NWmarB-Ched-1} \nwixadd{\nwixu }{mod:unstart}{NWmarB-Ched-1} \nwixadd{\nwixu }{state}{NWmarB-Ched-1} \newsublabel{NWmarB-*-2}{{}{9}} \nwixadd{\nwixu }{errorlevel}{NWmarB-*-2} \nwixadd{\nwixu }{errormsg}{NWmarB-*-2} \nwixadd{\nwixu }{markup}{NWmarB-*-2} \newsublabel{NWmarB-hanD-1}{{}{9}} \nwixadd{\nwixu }{errormsg}{NWmarB-hanD-1} \nwixadd{\nwixu }{tabsize}{NWmarB-hanD-1} \@writefile{toc}{\string\contentsline\space {subsection}{\string\numberline\space {1.2}Identifying the special {\string\ptt\space noweb} control sequences}{10}} \newsublabel{NWmar9-*-3}{{}{10}} \nwixadd{\nwixu }{markup}{NWmar9-*-3} \newsublabel{NWmar9-datG-1}{{}{11}} \nwixadd{\nwixd }{at:unsign}{NWmar9-datG-1} \newsublabel{NWmar9-hea6-1}{{}{11}} \nwixadd{\nwixu }{at:unsign}{NWmar9-hea6-1} \newsublabel{NWmar9-hea6-2}{{}{12}} \nwixadd{\nwixu }{first:undoc:unline}{NWmar9-hea6-2} \nwixadd{\nwixu }{starts:undoc}{NWmar9-hea6-2} \newsublabel{NWmar9-C*fB-1}{{}{12}} \nwixadd{\nwixd }{starts:undoc}{NWmar9-C*fB-1} \nwixadd{\nwixd }{first:undoc:unline}{NWmar9-C*fB-1} \nwixadd{\nwixu }{at:unsign}{NWmar9-C*fB-1} \newsublabel{NWmar9-hea6-3}{{}{12}} \nwixadd{\nwixu }{is:undef}{NWmar9-hea6-3} \nwixadd{\nwixu }{remove:undef:unmarker}{NWmar9-hea6-3} \newsublabel{NWmar9-datG-2}{{}{12}} \newsublabel{NWmar9-C*fB-2}{{}{12}} \nwixadd{\nwixu }{at:unsign}{NWmar9-C*fB-2} \nwixadd{\nwixu }{is:undef}{NWmar9-C*fB-2} \nwixadd{\nwixu }{remove:undef:unmarker}{NWmar9-C*fB-2} \newsublabel{NWmar9-firo-1}{{}{13}} \nwixadd{\nwixd }{is:undef}{NWmar9-firo-1} \nwixadd{\nwixd }{remove:undef:unmarker}{NWmar9-firo-1} \nwixadd{\nwixu }{strlen}{NWmar9-firo-1} \newsublabel{NWmar9-hea6-4}{{}{13}} \nwixadd{\nwixu }{mark}{NWmar9-hea6-4} \nwixadd{\nwixu }{mod:unend}{NWmar9-hea6-4} \nwixadd{\nwixu }{mod:unstart}{NWmar9-hea6-4} \nwixadd{\nwixu }{module}{NWmar9-hea6-4} \newsublabel{NWmar9-C*fB-3}{{}{13}} \nwixadd{\nwixd }{mod:unstart}{NWmar9-C*fB-3} \nwixadd{\nwixd }{mod:unend}{NWmar9-C*fB-3} \nwixadd{\nwixu }{find:unescaped}{NWmar9-C*fB-3} \nwixadd{\nwixu }{mark}{NWmar9-C*fB-3} \newsublabel{NWmar9-hea6-5}{{}{14}} \nwixadd{\nwixu }{getmodname}{NWmar9-hea6-5} \nwixadd{\nwixu }{module}{NWmar9-hea6-5} \nwixadd{\nwixu }{starts:uncode}{NWmar9-hea6-5} \newsublabel{NWmar9-C*fB-4}{{}{14}} \nwixadd{\nwixd }{starts:uncode}{NWmar9-C*fB-4} \nwixadd{\nwixd }{getmodname}{NWmar9-C*fB-4} \nwixadd{\nwixu }{free}{NWmar9-C*fB-4} \nwixadd{\nwixu }{mod:unend}{NWmar9-C*fB-4} \nwixadd{\nwixu }{mod:unstart}{NWmar9-C*fB-4} \nwixadd{\nwixu }{module}{NWmar9-C*fB-4} \newsublabel{NWmar9-errV-1}{{}{14}} \nwixadd{\nwixu }{errorat}{NWmar9-errV-1} \nwixadd{\nwixu }{Module}{NWmar9-errV-1} \newsublabel{NWmar9-ErrQ-1}{{}{15}} \nwixadd{\nwixu }{free}{NWmar9-ErrQ-1} \nwixadd{\nwixu }{impossible}{NWmar9-ErrQ-1} \nwixadd{\nwixu }{module}{NWmar9-ErrQ-1} \newsublabel{NWmar9-hea6-6}{{}{15}} \nwixadd{\nwixu }{mark}{NWmar9-hea6-6} \nwixadd{\nwixu }{quote:unend}{NWmar9-hea6-6} \nwixadd{\nwixu }{quote:unstart}{NWmar9-hea6-6} \newsublabel{NWmar9-C*fB-5}{{}{15}} \nwixadd{\nwixd }{quote:unstart}{NWmar9-C*fB-5} \nwixadd{\nwixu }{find:unescaped}{NWmar9-C*fB-5} \nwixadd{\nwixu }{mark}{NWmar9-C*fB-5} \newsublabel{NWmar9-C*fB-6}{{}{15}} \nwixadd{\nwixd }{quote:unend}{NWmar9-C*fB-6} \nwixadd{\nwixu }{find:unescaped}{NWmar9-C*fB-6} \nwixadd{\nwixu }{mark}{NWmar9-C*fB-6} \newsublabel{NWmar9-hea6-7}{{}{16}} \nwixadd{\nwixu }{find:unescaped}{NWmar9-hea6-7} \nwixadd{\nwixu }{mark}{NWmar9-hea6-7} \nwixadd{\nwixu }{markup}{NWmar9-hea6-7} \newsublabel{NWmar9-C*fB-7}{{}{16}} \nwixadd{\nwixd }{find:unescaped}{NWmar9-C*fB-7} \nwixadd{\nwixu }{mark}{NWmar9-C*fB-7} \nwixadd{\nwixu }{strlen}{NWmar9-C*fB-7} \newsublabel{NWmar9-hea6-8}{{}{17}} \nwixadd{\nwixu }{unescape}{NWmar9-hea6-8} \newsublabel{NWmar9-C*fB-8}{{}{17}} \nwixadd{\nwixd }{unescape}{NWmar9-C*fB-8} \nwixadd{\nwixu }{at:unsign}{NWmar9-C*fB-8} \nwixadd{\nwixu }{checkptr}{NWmar9-C*fB-8} \nwixadd{\nwixu }{malloc}{NWmar9-C*fB-8} \nwixadd{\nwixu }{strlen}{NWmar9-C*fB-8} \@writefile{toc}{\string\contentsline\space {section}{\string\numberline\space {2}Tangling}{18}} \@writefile{toc}{\string\contentsline\space {subsection}{\string\numberline\space {2.1}Main program}{18}} \newsublabel{NWmai7-*-4}{{}{18}} \nwixadd{\nwixu }{errorlevel}{NWmai7-*-4} \nwixadd{\nwixu }{module}{NWmai7-*-4} \nwixadd{\nwixu }{notangle}{NWmai7-*-4} \nwixadd{\nwixu }{root}{NWmai7-*-4} \nwixadd{\nwixu }{tabsize}{NWmai7-*-4} \newsublabel{NWmai7-proM-1}{{}{18}} \newsublabel{NWmai7-hanV-1}{{}{19}} \nwixadd{\nwixu }{errormsg}{NWmai7-hanV-1} \nwixadd{\nwixu }{module}{NWmai7-hanV-1} \nwixadd{\nwixu }{root}{NWmai7-hanV-1} \nwixadd{\nwixu }{tabsize}{NWmai7-hanV-1} \newsublabel{NWmai7-hanX-1}{{}{19}} \nwixadd{\nwixu }{errormsg}{NWmai7-hanX-1} \@writefile{toc}{\string\contentsline\space {subsection}{\string\numberline\space {2.2}Tangling a single file}{20}} \newsublabel{NWnotB-hea6-9}{{}{20}} \nwixadd{\nwixu }{notangle}{NWnotB-hea6-9} \newsublabel{NWnotB-*-5}{{}{20}} \newsublabel{NWnotB-*-6}{{}{21}} \nwixadd{\nwixd }{notangle}{NWnotB-*-6} \nwixadd{\nwixu }{apply:uneach:unmodule}{NWnotB-*-6} \nwixadd{\nwixu }{expand}{NWnotB-*-6} \nwixadd{\nwixu }{getline}{NWnotB-*-6} \nwixadd{\nwixu }{lookup}{NWnotB-*-6} \nwixadd{\nwixu }{module}{NWnotB-*-6} \nwixadd{\nwixu }{Module}{NWnotB-*-6} \nwixadd{\nwixu }{read:undefs}{NWnotB-*-6} \nwixadd{\nwixu }{remove:unfinal:unnewline}{NWnotB-*-6} \nwixadd{\nwixu }{root}{NWnotB-*-6} \newsublabel{NWnotB-hea6-A}{{}{22}} \nwixadd{\nwixu }{module}{NWnotB-hea6-A} \nwixadd{\nwixu }{read:undefs}{NWnotB-hea6-A} \newsublabel{NWnotB-*-7}{{}{23}} \nwixadd{\nwixd }{read:undefs}{NWnotB-*-7} \nwixadd{\nwixu }{addmodule}{NWnotB-*-7} \nwixadd{\nwixu }{addnewline}{NWnotB-*-7} \nwixadd{\nwixu }{addstring}{NWnotB-*-7} \nwixadd{\nwixu }{getline}{NWnotB-*-7} \nwixadd{\nwixu }{index}{NWnotB-*-7} \nwixadd{\nwixu }{insert}{NWnotB-*-7} \nwixadd{\nwixu }{insist}{NWnotB-*-7} \nwixadd{\nwixu }{is:unend}{NWnotB-*-7} \nwixadd{\nwixu }{is:unindex}{NWnotB-*-7} \nwixadd{\nwixu }{is:unkeyword}{NWnotB-*-7} \nwixadd{\nwixu }{Location}{NWnotB-*-7} \nwixadd{\nwixu }{Module}{NWnotB-*-7} \nwixadd{\nwixu }{module}{NWnotB-*-7} \nwixadd{\nwixu }{warn:undots}{NWnotB-*-7} \newsublabel{NWnotB-tra1A-1}{{}{24}} \nwixadd{\nwixu }{is:unbegin}{NWnotB-tra1A-1} \nwixadd{\nwixu }{is:unindex}{NWnotB-tra1A-1} \nwixadd{\nwixu }{is:unkeyword}{NWnotB-tra1A-1} \newsublabel{NWnotB-rep13-1}{{}{24}} \nwixadd{\nwixu }{getline}{NWnotB-rep13-1} \nwixadd{\nwixu }{is:unkeyword}{NWnotB-rep13-1} \newsublabel{NWnotB-copX-1}{{}{24}} \nwixadd{\nwixu }{strcpy}{NWnotB-copX-1} \nwixadd{\nwixu }{strlen}{NWnotB-copX-1} \newsublabel{NWnotB-savz-1}{{}{24}} \nwixadd{\nwixu }{overflow}{NWnotB-savz-1} \nwixadd{\nwixu }{strcpy}{NWnotB-savz-1} \nwixadd{\nwixu }{strlen}{NWnotB-savz-1} \newsublabel{NWnotB-*-8}{{}{25}} \nwixadd{\nwixd }{warn:undots}{NWnotB-*-8} \nwixadd{\nwixu }{errormsg}{NWnotB-*-8} \nwixadd{\nwixu }{Module}{NWnotB-*-8} \nwixadd{\nwixu }{strlen}{NWnotB-*-8} \newsublabel{NWnotB-FunL-1}{{}{25}} \nwixadd{\nwixu }{warn:undots}{NWnotB-FunL-1} \newsublabel{NWnotB-quiX-1}{{}{25}} \nwixadd{\nwixu }{errormsg}{NWnotB-quiX-1} \nwixadd{\nwixu }{module}{NWnotB-quiX-1} \nwixadd{\nwixu }{root}{NWnotB-quiX-1} \newsublabel{NWnotB-*-9}{{}{25}} \nwixadd{\nwixd }{insist}{NWnotB-*-9} \nwixadd{\nwixu }{impossible}{NWnotB-*-9} \nwixadd{\nwixu }{is:unkeyword}{NWnotB-*-9} \newsublabel{NWnotB-if*k-1}{{}{25}} \nwixadd{\nwixu }{impossible}{NWnotB-if*k-1} \nwixadd{\nwixu }{module}{NWnotB-if*k-1} \newsublabel{NWnotB-FunL-2}{{}{26}} \nwixadd{\nwixu }{insist}{NWnotB-FunL-2} \newsublabel{NWnotB-comU-1}{{}{26}} \nwixadd{\nwixu }{errorat}{NWnotB-comU-1} \@writefile{toc}{\string\contentsline\space {subsection}{\string\numberline\space {2.3}Code to recognize {\string\ptt\space {}noweb} markup on input}{27}} \newsublabel{NWmat8-hea6-B}{{}{27}} \nwixadd{\nwixu }{is:unbegin}{NWmat8-hea6-B} \nwixadd{\nwixu }{is:unend}{NWmat8-hea6-B} \nwixadd{\nwixu }{is:unindex}{NWmat8-hea6-B} \nwixadd{\nwixu }{is:unkeyword}{NWmat8-hea6-B} \newsublabel{NWmat8-*-A}{{}{27}} \nwixadd{\nwixd }{is:unkeyword}{NWmat8-*-A} \nwixadd{\nwixd }{is:unbegin}{NWmat8-*-A} \nwixadd{\nwixd }{is:unend}{NWmat8-*-A} \nwixadd{\nwixd }{is:unindex}{NWmat8-*-A} \nwixadd{\nwixu }{index}{NWmat8-*-A} \nwixadd{\nwixu }{strlen}{NWmat8-*-A} \@writefile{toc}{\string\contentsline\space {subsection}{\string\numberline\space {2.4}Expanding multiple files from a single source}{28}} \newsublabel{NWmnt6-*-B}{{}{28}} \nwixadd{\nwixu }{emitfile}{NWmnt6-*-B} \nwixadd{\nwixu }{errorlevel}{NWmnt6-*-B} \nwixadd{\nwixu }{notangle}{NWmnt6-*-B} \nwixadd{\nwixu }{tabsize}{NWmnt6-*-B} \newsublabel{NWmnt6-reaT-1}{{}{29}} \nwixadd{\nwixu }{apply:uneach:unmodule}{NWmnt6-reaT-1} \nwixadd{\nwixu }{read:undefs}{NWmnt6-reaT-1} \nwixadd{\nwixu }{remove:unfinal:unnewline}{NWmnt6-reaT-1} \newsublabel{NWmnt6-wriU-1}{{}{29}} \nwixadd{\nwixu }{add:unuses:unto:unusecounts}{NWmnt6-wriU-1} \nwixadd{\nwixu }{apply:uneach:unmodule}{NWmnt6-wriU-1} \nwixadd{\nwixu }{emit:unif:ununused:unand:unconforming}{NWmnt6-wriU-1} \newsublabel{NWmnt6-locG-1}{{}{29}} \nwixadd{\nwixu }{add:unuses:unto:unusecounts}{NWmnt6-locG-1} \nwixadd{\nwixu }{emit:unif:ununused:unand:unconforming}{NWmnt6-locG-1} \nwixadd{\nwixu }{Module}{NWmnt6-locG-1} \newsublabel{NWmnt6-*-C}{{}{29}} \nwixadd{\nwixd }{add:unuses:unto:unusecounts}{NWmnt6-*-C} \nwixadd{\nwixu }{lookup}{NWmnt6-*-C} \nwixadd{\nwixu }{modpart}{NWmnt6-*-C} \nwixadd{\nwixu }{Module}{NWmnt6-*-C} \newsublabel{NWmnt6-*-D}{{}{30}} \nwixadd{\nwixd }{emit:unif:ununused:unand:unconforming}{NWmnt6-*-D} \nwixadd{\nwixu }{emitfile}{NWmnt6-*-D} \nwixadd{\nwixu }{errormsg}{NWmnt6-*-D} \nwixadd{\nwixu }{Module}{NWmnt6-*-D} \newsublabel{NWmnt6-locG-2}{{}{31}} \nwixadd{\nwixu }{emitfile}{NWmnt6-locG-2} \newsublabel{NWmnt6-*-E}{{}{31}} \nwixadd{\nwixd }{emitfile}{NWmnt6-*-E} \nwixadd{\nwixu }{errormsg}{NWmnt6-*-E} \nwixadd{\nwixu }{lookup}{NWmnt6-*-E} \nwixadd{\nwixu }{Module}{NWmnt6-*-E} \nwixadd{\nwixu }{root}{NWmnt6-*-E} \nwixadd{\nwixu }{tempnam}{NWmnt6-*-E} \newsublabel{NWmnt6-expk-1}{{}{31}} \nwixadd{\nwixu }{expand}{NWmnt6-expk-1} \nwixadd{\nwixu }{root}{NWmnt6-expk-1} \newsublabel{NWmnt6-if*1I-1}{{}{32}} \newsublabel{NWmnt6-comg-1}{{}{32}} \nwixadd{\nwixu }{errormsg}{NWmnt6-comg-1} \newsublabel{NWmnt6-comh-1}{{}{32}} \nwixadd{\nwixu }{errormsg}{NWmnt6-comh-1} \nwixadd{\nwixu }{root}{NWmnt6-comh-1} \newsublabel{NWmnt6-hanS-1}{{}{33}} \nwixadd{\nwixu }{errormsg}{NWmnt6-hanS-1} \nwixadd{\nwixu }{tabsize}{NWmnt6-hanS-1} \@writefile{toc}{\string\contentsline\space {subsubsection}{\string\numberline\space {2.4.1}Temporary files}{33}} \newsublabel{NWmnt6-locG-3}{{}{33}} \nwixadd{\nwixd }{tempnam}{NWmnt6-locG-3} \@writefile{toc}{\string\contentsline\space {subsection}{\string\numberline\space {2.5}The internal structure of modules (chunks)}{34}} \@writefile{toc}{\string\contentsline\space {subsubsection}{\string\numberline\space {2.5.1}Assembling modules from parts}{34}} \newsublabel{NWmodA-hea6-C}{{}{34}} \nwixadd{\nwixd }{Location}{NWmodA-hea6-C} \nwixadd{\nwixd }{parttype}{NWmodA-hea6-C} \nwixadd{\nwixd }{modpart}{NWmodA-hea6-C} \newsublabel{NWmodA-hea6-D}{{}{34}} \nwixadd{\nwixd }{module}{NWmodA-hea6-D} \nwixadd{\nwixd }{Module}{NWmodA-hea6-D} \nwixadd{\nwixu }{modpart}{NWmodA-hea6-D} \newsublabel{NWmodA-hea6-E}{{}{34}} \nwixadd{\nwixu }{Module}{NWmodA-hea6-E} \nwixadd{\nwixu }{module}{NWmodA-hea6-E} \nwixadd{\nwixu }{newmodule}{NWmodA-hea6-E} \newsublabel{NWmodA-C*fB-9}{{}{35}} \nwixadd{\nwixd }{newmodule}{NWmodA-C*fB-9} \nwixadd{\nwixu }{checkptr}{NWmodA-C*fB-9} \nwixadd{\nwixu }{malloc}{NWmodA-C*fB-9} \nwixadd{\nwixu }{Module}{NWmodA-C*fB-9} \nwixadd{\nwixu }{module}{NWmodA-C*fB-9} \newsublabel{NWmodA-*-F}{{}{35}} \newsublabel{NWmodA-hea6-F}{{}{36}} \nwixadd{\nwixd }{addstring}{NWmodA-hea6-F} \nwixadd{\nwixd }{addmodule}{NWmodA-hea6-F} \nwixadd{\nwixd }{addnewline}{NWmodA-hea6-F} \nwixadd{\nwixu }{add:unpart}{NWmodA-hea6-F} \nwixadd{\nwixu }{Location}{NWmodA-hea6-F} \nwixadd{\nwixu }{Module}{NWmodA-hea6-F} \nwixadd{\nwixu }{module}{NWmodA-hea6-F} \newsublabel{NWmodA-C*fB-A}{{}{36}} \nwixadd{\nwixd }{add:unpart}{NWmodA-C*fB-A} \nwixadd{\nwixu }{append}{NWmodA-C*fB-A} \nwixadd{\nwixu }{Location}{NWmodA-C*fB-A} \nwixadd{\nwixu }{modpart}{NWmodA-C*fB-A} \nwixadd{\nwixu }{Module}{NWmodA-C*fB-A} \nwixadd{\nwixu }{newmodpart}{NWmodA-C*fB-A} \newsublabel{NWmodA-C*fB-B}{{}{36}} \nwixadd{\nwixd }{newmodpart}{NWmodA-C*fB-B} \nwixadd{\nwixu }{checkptr}{NWmodA-C*fB-B} \nwixadd{\nwixu }{Location}{NWmodA-C*fB-B} \nwixadd{\nwixu }{malloc}{NWmodA-C*fB-B} \nwixadd{\nwixu }{modpart}{NWmodA-C*fB-B} \newsublabel{NWmodA-C*fB-C}{{}{37}} \nwixadd{\nwixd }{append}{NWmodA-C*fB-C} \nwixadd{\nwixu }{modpart}{NWmodA-C*fB-C} \nwixadd{\nwixu }{Module}{NWmodA-C*fB-C} \newsublabel{NWmodA-stra-1}{{}{37}} \nwixadd{\nwixu }{impossible}{NWmodA-stra-1} \nwixadd{\nwixu }{strlen}{NWmodA-stra-1} \newsublabel{NWmodA-FunL-3}{{}{37}} \nwixadd{\nwixu }{append}{NWmodA-FunL-3} \nwixadd{\nwixu }{Location}{NWmodA-FunL-3} \nwixadd{\nwixu }{modpart}{NWmodA-FunL-3} \nwixadd{\nwixu }{module}{NWmodA-FunL-3} \nwixadd{\nwixu }{Module}{NWmodA-FunL-3} \nwixadd{\nwixu }{newmodpart}{NWmodA-FunL-3} \@writefile{toc}{\string\contentsline\space {subsubsection}{\string\numberline\space {2.5.2}Expanding modules}{38}} \newsublabel{NWmodA-hea6-G}{{}{38}} \nwixadd{\nwixd }{Parent}{NWmodA-hea6-G} \nwixadd{\nwixu }{expand}{NWmodA-hea6-G} \nwixadd{\nwixu }{Module}{NWmodA-hea6-G} \nwixadd{\nwixu }{module}{NWmodA-hea6-G} \newsublabel{NWmodA-C*fB-D}{{}{39}} \nwixadd{\nwixd }{expand}{NWmodA-C*fB-D} \nwixadd{\nwixu }{impossible}{NWmodA-C*fB-D} \nwixadd{\nwixu }{modpart}{NWmodA-C*fB-D} \nwixadd{\nwixu }{module}{NWmodA-C*fB-D} \nwixadd{\nwixu }{Module}{NWmodA-C*fB-D} \nwixadd{\nwixu }{Parent}{NWmodA-C*fB-D} \newsublabel{NWmodA-thiQ-1}{{}{39}} \newsublabel{NWmodA-priE-1}{{}{40}} \nwixadd{\nwixu }{indent:unfor}{NWmodA-priE-1} \nwixadd{\nwixu }{limitcolumn}{NWmodA-priE-1} \nwixadd{\nwixu }{printloc}{NWmodA-priE-1} \newsublabel{NWmodA-priF-1}{{}{40}} \newsublabel{NWmodA-expF-1}{{}{40}} \nwixadd{\nwixu }{errormsg}{NWmodA-expF-1} \nwixadd{\nwixu }{expand}{NWmodA-expF-1} \nwixadd{\nwixu }{limitcolumn}{NWmodA-expF-1} \nwixadd{\nwixu }{lookup}{NWmodA-expF-1} \nwixadd{\nwixu }{module}{NWmodA-expF-1} \newsublabel{NWmodA-if*j-1}{{}{41}} \nwixadd{\nwixu }{errormsg}{NWmodA-if*j-1} \nwixadd{\nwixu }{seekcycle}{NWmodA-if*j-1} \newsublabel{NWmodA-FunL-4}{{}{41}} \nwixadd{\nwixu }{Module}{NWmodA-FunL-4} \nwixadd{\nwixu }{Parent}{NWmodA-FunL-4} \nwixadd{\nwixu }{seekcycle}{NWmodA-FunL-4} \newsublabel{NWmodA-C*fB-E}{{}{41}} \nwixadd{\nwixd }{seekcycle}{NWmodA-C*fB-E} \nwixadd{\nwixu }{Module}{NWmodA-C*fB-E} \nwixadd{\nwixu }{Parent}{NWmodA-C*fB-E} \newsublabel{NWmodA-hea6-H}{{}{42}} \nwixadd{\nwixu }{Location}{NWmodA-hea6-H} \nwixadd{\nwixu }{printloc}{NWmodA-hea6-H} \newsublabel{NWmodA-C*fB-F}{{}{42}} \nwixadd{\nwixd }{printloc}{NWmodA-C*fB-F} \nwixadd{\nwixu }{Location}{NWmodA-C*fB-F} \newsublabel{NWmodA-wriW-1}{{}{43}} \newsublabel{NWmodA-comZ-1}{{}{43}} \nwixadd{\nwixu }{errormsg}{NWmodA-comZ-1} \@writefile{toc}{\string\contentsline\space {subsubsection}{\string\numberline\space {2.5.3}Other operations on completed modules}{44}} \newsublabel{NWmodA-hea6-I}{{}{44}} \nwixadd{\nwixu }{Module}{NWmodA-hea6-I} \nwixadd{\nwixu }{module}{NWmodA-hea6-I} \nwixadd{\nwixu }{remove:unfinal:unnewline}{NWmodA-hea6-I} \newsublabel{NWmodA-C*fB-G}{{}{44}} \nwixadd{\nwixd }{remove:unfinal:unnewline}{NWmodA-C*fB-G} \nwixadd{\nwixu }{impossible}{NWmodA-C*fB-G} \nwixadd{\nwixu }{modpart}{NWmodA-C*fB-G} \nwixadd{\nwixu }{Module}{NWmodA-C*fB-G} \nwixadd{\nwixu }{module}{NWmodA-C*fB-G} \@writefile{toc}{\string\contentsline\space {subsection}{\string\numberline\space {2.6}Support for looking up modules by name}{45}} \newsublabel{NWmodB-hea6-J}{{}{45}} \nwixadd{\nwixu }{apply:uneach:unmodule}{NWmodB-hea6-J} \nwixadd{\nwixu }{insert}{NWmodB-hea6-J} \nwixadd{\nwixu }{lookup}{NWmodB-hea6-J} \nwixadd{\nwixu }{Module}{NWmodB-hea6-J} \nwixadd{\nwixu }{module}{NWmodB-hea6-J} \newsublabel{NWmodB-*-G}{{}{45}} \nwixadd{\nwixu }{Module}{NWmodB-*-G} \nwixadd{\nwixu }{root}{NWmodB-*-G} \newsublabel{NWmodB-*-H}{{}{46}} \nwixadd{\nwixd }{insert}{NWmodB-*-H} \nwixadd{\nwixu }{Module}{NWmodB-*-H} \nwixadd{\nwixu }{newmodule}{NWmodB-*-H} \nwixadd{\nwixu }{root}{NWmodB-*-H} \newsublabel{NWmodB-AllV-1}{{}{46}} \nwixadd{\nwixu }{checkptr}{NWmodB-AllV-1} \nwixadd{\nwixu }{malloc}{NWmodB-AllV-1} \newsublabel{NWmodB-FunL-5}{{}{46}} \nwixadd{\nwixu }{Module}{NWmodB-FunL-5} \newsublabel{NWmodB-*-I}{{}{47}} \nwixadd{\nwixd }{lookup}{NWmodB-*-I} \nwixadd{\nwixu }{Module}{NWmodB-*-I} \nwixadd{\nwixu }{root}{NWmodB-*-I} \newsublabel{NWmodB-*-J}{{}{47}} \nwixadd{\nwixd }{apply:uneach:unmodule}{NWmodB-*-J} \nwixadd{\nwixu }{Module}{NWmodB-*-J} \nwixadd{\nwixu }{root}{NWmodB-*-J} \@writefile{toc}{\string\contentsline\space {section}{\string\numberline\space {3}Scanning for uses of identifiers}{48}} \@writefile{toc}{\string\contentsline\space {subsection}{\string\numberline\space {3.1}Main program}{48}} \newsublabel{NWfinB-*-K}{{}{48}} \nwixadd{\nwixu }{getline}{NWfinB-*-K} \newsublabel{NWfinB-*-L}{{}{48}} \nwixadd{\nwixd }{ALPHANUM}{NWfinB-*-L} \nwixadd{\nwixd }{SYMBOLS}{NWfinB-*-L} \nwixadd{\nwixu }{index}{NWfinB-*-L} \nwixadd{\nwixu }{Recognizer}{NWfinB-*-L} \newsublabel{NWfinB-*-M}{{}{49}} \newsublabel{NWfinB-*-N}{{}{49}} \nwixadd{\nwixu }{add:unuse:unmarkers}{NWfinB-*-N} \nwixadd{\nwixu }{ALPHANUM}{NWfinB-*-N} \nwixadd{\nwixu }{errorlevel}{NWfinB-*-N} \nwixadd{\nwixu }{errormsg}{NWfinB-*-N} \nwixadd{\nwixu }{index}{NWfinB-*-N} \nwixadd{\nwixu }{new:unrecognizer}{NWfinB-*-N} \nwixadd{\nwixu }{stop:unadding}{NWfinB-*-N} \nwixadd{\nwixu }{SYMBOLS}{NWfinB-*-N} \newsublabel{NWfinB-reax-1}{{}{50}} \nwixadd{\nwixu }{errormsg}{NWfinB-reax-1} \nwixadd{\nwixu }{read:unids}{NWfinB-reax-1} \newsublabel{NWfinB-locG-4}{{}{50}} \nwixadd{\nwixu }{read:unids}{NWfinB-locG-4} \newsublabel{NWfinB-*-O}{{}{50}} \nwixadd{\nwixd }{read:unids}{NWfinB-*-O} \nwixadd{\nwixu }{add:unident}{NWfinB-*-O} \nwixadd{\nwixu }{getline}{NWfinB-*-O} \nwixadd{\nwixu }{index}{NWfinB-*-O} \nwixadd{\nwixu }{strlen}{NWfinB-*-O} \newsublabel{NWfinB-addi-1}{{}{50}} \nwixadd{\nwixu }{add:unident}{NWfinB-addi-1} \nwixadd{\nwixu }{add:unuse:unmarkers}{NWfinB-addi-1} \nwixadd{\nwixu }{getline}{NWfinB-addi-1} \nwixadd{\nwixu }{index}{NWfinB-addi-1} \nwixadd{\nwixu }{is:unindex}{NWfinB-addi-1} \nwixadd{\nwixu }{stop:unadding}{NWfinB-addi-1} \nwixadd{\nwixu }{strlen}{NWfinB-addi-1} \newsublabel{NWfinB-locG-5}{{}{51}} \nwixadd{\nwixu }{add:unuse:unmarkers}{NWfinB-locG-5} \newsublabel{NWfinB-*-P}{{}{51}} \nwixadd{\nwixd }{add:unuse:unmarkers}{NWfinB-*-P} \nwixadd{\nwixu }{getline}{NWfinB-*-P} \nwixadd{\nwixu }{index}{NWfinB-*-P} \nwixadd{\nwixu }{is:unbegin}{NWfinB-*-P} \nwixadd{\nwixu }{is:unend}{NWfinB-*-P} \nwixadd{\nwixu }{is:unkeyword}{NWfinB-*-P} \nwixadd{\nwixu }{search:unfor:unident}{NWfinB-*-P} \nwixadd{\nwixu }{write:unindex:unuse}{NWfinB-*-P} \newsublabel{NWfinB-locG-6}{{}{51}} \nwixadd{\nwixu }{write:unindex:unuse}{NWfinB-locG-6} \newsublabel{NWfinB-*-Q}{{}{51}} \nwixadd{\nwixd }{write:unindex:unuse}{NWfinB-*-Q} \newsublabel{NWfinB-comf-1}{{}{51}} \nwixadd{\nwixu }{errormsg}{NWfinB-comf-1} \newsublabel{NWfinB-comf.2-1}{{}{51}} \nwixadd{\nwixu }{errormsg}{NWfinB-comf.2-1} \citation{aho:efficient} \@writefile{toc}{\string\contentsline\space {subsection}{\string\numberline\space {3.2}An Efficient String Matcher (by Preston Briggs)}{52}} \newlabel{preston}{{3.2}{52}} \@writefile{toc}{\string\contentsline\space {subsubsection}{\string\numberline\space {3.2.1}Introduction}{52}} \@writefile{toc}{\string\contentsline\space {paragraph}{Boilerplate}{52}} \newsublabel{NWrecC-*-R}{{}{52}} \newsublabel{NWrecC-hea6-K}{{}{52}} \newsublabel{NWrecC-IncD-1}{{}{52}} \nwixadd{\nwixd }{strchr}{NWrecC-IncD-1} \nwixadd{\nwixd }{strcpy}{NWrecC-IncD-1} \nwixadd{\nwixd }{strlen}{NWrecC-IncD-1} \newsublabel{NWrecC-IncD-2}{{}{52}} \nwixadd{\nwixd }{malloc}{NWrecC-IncD-2} \nwixadd{\nwixd }{calloc}{NWrecC-IncD-2} \nwixadd{\nwixd }{free}{NWrecC-IncD-2} \@writefile{toc}{\string\contentsline\space {paragraph}{External Interface}{53}} \newsublabel{NWrecC-ExpJ-1}{{}{53}} \nwixadd{\nwixd }{new:unrecognizer}{NWrecC-ExpJ-1} \nwixadd{\nwixu }{Recognizer}{NWrecC-ExpJ-1} \newsublabel{NWrecC-ExpP-1}{{}{53}} \nwixadd{\nwixd }{Recognizer}{NWrecC-ExpP-1} \nwixadd{\nwixu }{recognizer}{NWrecC-ExpP-1} \newsublabel{NWrecC-ExpJ-2}{{}{53}} \nwixadd{\nwixd }{add:unident}{NWrecC-ExpJ-2} \nwixadd{\nwixd }{stop:unadding}{NWrecC-ExpJ-2} \nwixadd{\nwixu }{Recognizer}{NWrecC-ExpJ-2} \newsublabel{NWrecC-ExpJ-3}{{}{53}} \nwixadd{\nwixd }{search:unfor:unident}{NWrecC-ExpJ-3} \nwixadd{\nwixu }{Callback}{NWrecC-ExpJ-3} \nwixadd{\nwixu }{Recognizer}{NWrecC-ExpJ-3} \newsublabel{NWrecC-ExpP-2}{{}{53}} \nwixadd{\nwixd }{Callback}{NWrecC-ExpP-2} \@writefile{toc}{\string\contentsline\space {subsubsection}{\string\numberline\space {3.2.2}Defining the Automata}{54}} \newsublabel{NWrecC-TypG-1}{{}{54}} \nwixadd{\nwixd }{Goto:unNode}{NWrecC-TypG-1} \nwixadd{\nwixd }{Move:unNode}{NWrecC-TypG-1} \nwixadd{\nwixu }{goto:unnode}{NWrecC-TypG-1} \nwixadd{\nwixu }{move:unnode}{NWrecC-TypG-1} \newsublabel{NWrecC-TypG-2}{{}{54}} \nwixadd{\nwixd }{Name:unNode}{NWrecC-TypG-2} \newsublabel{NWrecC-TypG-3}{{}{54}} \nwixadd{\nwixd }{move:unnode}{NWrecC-TypG-3} \nwixadd{\nwixu }{Goto:unNode}{NWrecC-TypG-3} \nwixadd{\nwixu }{Move:unNode}{NWrecC-TypG-3} \nwixadd{\nwixu }{state}{NWrecC-TypG-3} \newsublabel{NWrecC-TypG-4}{{}{54}} \nwixadd{\nwixd }{goto:unnode}{NWrecC-TypG-4} \nwixadd{\nwixu }{Goto:unNode}{NWrecC-TypG-4} \nwixadd{\nwixu }{Move:unNode}{NWrecC-TypG-4} \nwixadd{\nwixu }{Name:unNode}{NWrecC-TypG-4} \nwixadd{\nwixu }{state}{NWrecC-TypG-4} \newsublabel{NWrecC-TypG-5}{{}{55}} \nwixadd{\nwixd }{recognizer}{NWrecC-TypG-5} \nwixadd{\nwixd }{root}{NWrecC-TypG-5} \nwixadd{\nwixd }{depths}{NWrecC-TypG-5} \nwixadd{\nwixd }{max:undepth}{NWrecC-TypG-5} \nwixadd{\nwixd }{alphas}{NWrecC-TypG-5} \nwixadd{\nwixd }{syms}{NWrecC-TypG-5} \nwixadd{\nwixu }{Goto:unNode}{NWrecC-TypG-5} \@writefile{toc}{\string\contentsline\space {paragraph}{A Utility Function}{55}} \newsublabel{NWrecC-FunK-1}{{}{55}} \nwixadd{\nwixd }{goto:unlookup}{NWrecC-FunK-1} \nwixadd{\nwixu }{Goto:unNode}{NWrecC-FunK-1} \nwixadd{\nwixu }{Move:unNode}{NWrecC-FunK-1} \nwixadd{\nwixu }{state}{NWrecC-FunK-1} \@writefile{toc}{\string\contentsline\space {subsubsection}{\string\numberline\space {3.2.3}Building the Automata}{56}} \newsublabel{NWrecC-FunK-2}{{}{56}} \nwixadd{\nwixd }{Recognizer}{NWrecC-FunK-2} \nwixadd{\nwixu }{alphas}{NWrecC-FunK-2} \nwixadd{\nwixu }{calloc}{NWrecC-FunK-2} \nwixadd{\nwixu }{depths}{NWrecC-FunK-2} \nwixadd{\nwixu }{Goto:unNode}{NWrecC-FunK-2} \nwixadd{\nwixu }{max:undepth}{NWrecC-FunK-2} \nwixadd{\nwixu }{new:unrecognizer}{NWrecC-FunK-2} \nwixadd{\nwixu }{recognizer}{NWrecC-FunK-2} \nwixadd{\nwixu }{syms}{NWrecC-FunK-2} \@writefile{toc}{\string\contentsline\space {paragraph}{Building the Goto Table}{57}} \newsublabel{NWrecC-FunK-3}{{}{57}} \nwixadd{\nwixd }{add:unident}{NWrecC-FunK-3} \nwixadd{\nwixu }{goto:unlookup}{NWrecC-FunK-3} \nwixadd{\nwixu }{Goto:unNode}{NWrecC-FunK-3} \nwixadd{\nwixu }{Recognizer}{NWrecC-FunK-3} \nwixadd{\nwixu }{root}{NWrecC-FunK-3} \newsublabel{NWrecC-CreV-1}{{}{57}} \nwixadd{\nwixu }{calloc}{NWrecC-CreV-1} \nwixadd{\nwixu }{depths}{NWrecC-CreV-1} \nwixadd{\nwixu }{Goto:unNode}{NWrecC-CreV-1} \nwixadd{\nwixu }{root}{NWrecC-CreV-1} \newsublabel{NWrecC-Cret-1}{{}{58}} \nwixadd{\nwixu }{calloc}{NWrecC-Cret-1} \nwixadd{\nwixu }{depths}{NWrecC-Cret-1} \nwixadd{\nwixu }{Goto:unNode}{NWrecC-Cret-1} \nwixadd{\nwixu }{malloc}{NWrecC-Cret-1} \nwixadd{\nwixu }{max:undepth}{NWrecC-Cret-1} \nwixadd{\nwixu }{Move:unNode}{NWrecC-Cret-1} \nwixadd{\nwixu }{state}{NWrecC-Cret-1} \newsublabel{NWrecC-Doud-1}{{}{58}} \nwixadd{\nwixu }{calloc}{NWrecC-Doud-1} \nwixadd{\nwixu }{depths}{NWrecC-Doud-1} \nwixadd{\nwixu }{free}{NWrecC-Doud-1} \nwixadd{\nwixu }{Goto:unNode}{NWrecC-Doud-1} \nwixadd{\nwixu }{max:undepth}{NWrecC-Doud-1} \newsublabel{NWrecC-Setq-1}{{}{58}} \nwixadd{\nwixu }{malloc}{NWrecC-Setq-1} \nwixadd{\nwixu }{Name:unNode}{NWrecC-Setq-1} \nwixadd{\nwixu }{strcpy}{NWrecC-Setq-1} \nwixadd{\nwixu }{strlen}{NWrecC-Setq-1} \@writefile{toc}{\string\contentsline\space {paragraph}{Building the Failure Functions}{59}} \newsublabel{NWrecC-FunK-4}{{}{59}} \nwixadd{\nwixd }{stop:unadding}{NWrecC-FunK-4} \nwixadd{\nwixu }{depths}{NWrecC-FunK-4} \nwixadd{\nwixu }{goto:unlookup}{NWrecC-FunK-4} \nwixadd{\nwixu }{Goto:unNode}{NWrecC-FunK-4} \nwixadd{\nwixu }{malloc}{NWrecC-FunK-4} \nwixadd{\nwixu }{max:undepth}{NWrecC-FunK-4} \nwixadd{\nwixu }{Move:unNode}{NWrecC-FunK-4} \nwixadd{\nwixu }{Name:unNode}{NWrecC-FunK-4} \nwixadd{\nwixu }{Recognizer}{NWrecC-FunK-4} \nwixadd{\nwixu }{root}{NWrecC-FunK-4} \nwixadd{\nwixu }{state}{NWrecC-FunK-4} \@writefile{toc}{\string\contentsline\space {subsubsection}{\string\numberline\space {3.2.4}Using the Automata}{60}} \newsublabel{NWrecC-FunK-5}{{}{60}} \nwixadd{\nwixd }{search:unfor:unident}{NWrecC-FunK-5} \nwixadd{\nwixu }{Callback}{NWrecC-FunK-5} \nwixadd{\nwixu }{Goto:unNode}{NWrecC-FunK-5} \nwixadd{\nwixu }{Recognizer}{NWrecC-FunK-5} \nwixadd{\nwixu }{state}{NWrecC-FunK-5} \newsublabel{NWrecC-GotJ-1}{{}{60}} \nwixadd{\nwixu }{goto:unlookup}{NWrecC-GotJ-1} \nwixadd{\nwixu }{root}{NWrecC-GotJ-1} \nwixadd{\nwixu }{state}{NWrecC-GotJ-1} \newsublabel{NWrecC-Pera-1}{{}{60}} \nwixadd{\nwixu }{Name:unNode}{NWrecC-Pera-1} \nwixadd{\nwixu }{reject:unmatch}{NWrecC-Pera-1} \nwixadd{\nwixu }{state}{NWrecC-Pera-1} \@writefile{toc}{\string\contentsline\space {paragraph}{Rejecting Matches}{61}} \newsublabel{NWrecC-FunK-6}{{}{61}} \nwixadd{\nwixd }{reject:unmatch}{NWrecC-FunK-6} \nwixadd{\nwixu }{alphas}{NWrecC-FunK-6} \nwixadd{\nwixu }{Recognizer}{NWrecC-FunK-6} \nwixadd{\nwixu }{strchr}{NWrecC-FunK-6} \nwixadd{\nwixu }{strlen}{NWrecC-FunK-6} \nwixadd{\nwixu }{syms}{NWrecC-FunK-6} \newsublabel{NWrecC-ProA-1}{{}{61}} \nwixadd{\nwixu }{Recognizer}{NWrecC-ProA-1} \nwixadd{\nwixu }{reject:unmatch}{NWrecC-ProA-1} \@writefile{toc}{\string\contentsline\space {section}{\string\numberline\space {4}Utility functions}{62}} \@writefile{toc}{\string\contentsline\space {subsection}{\string\numberline\space {4.1}Line-oriented input}{62}} \newsublabel{NWgetA-*-S}{{}{62}} \nwixadd{\nwixd }{START:unSIZE}{NWgetA-*-S} \nwixadd{\nwixd }{buf:unsize}{NWgetA-*-S} \nwixadd{\nwixd }{buf1}{NWgetA-*-S} \nwixadd{\nwixd }{buf2}{NWgetA-*-S} \nwixadd{\nwixu }{getline}{NWgetA-*-S} \newsublabel{NWgetA-hea6-L}{{}{62}} \nwixadd{\nwixu }{getline}{NWgetA-hea6-L} \nwixadd{\nwixu }{getline:unexpand}{NWgetA-hea6-L} \nwixadd{\nwixu }{tabsize}{NWgetA-hea6-L} \newsublabel{NWgetA-C*fB-H}{{}{63}} \nwixadd{\nwixu }{buf1}{NWgetA-C*fB-H} \nwixadd{\nwixu }{buf2}{NWgetA-C*fB-H} \nwixadd{\nwixu }{buf:unsize}{NWgetA-C*fB-H} \nwixadd{\nwixu }{checkptr}{NWgetA-C*fB-H} \newsublabel{NWgetA-C*fB-I}{{}{63}} \nwixadd{\nwixd }{getline}{NWgetA-C*fB-I} \nwixadd{\nwixu }{buf1}{NWgetA-C*fB-I} \nwixadd{\nwixu }{buf:unsize}{NWgetA-C*fB-I} \nwixadd{\nwixu }{strlen}{NWgetA-C*fB-I} \newsublabel{NWgetA-C*fB-J}{{}{64}} \nwixadd{\nwixd }{getline:unexpand}{NWgetA-C*fB-J} \nwixadd{\nwixu }{buf1}{NWgetA-C*fB-J} \nwixadd{\nwixu }{buf2}{NWgetA-C*fB-J} \nwixadd{\nwixu }{getline}{NWgetA-C*fB-J} \nwixadd{\nwixu }{tabsize}{NWgetA-C*fB-J} \newsublabel{NWgetA-if*h-1}{{}{64}} \nwixadd{\nwixu }{buf1}{NWgetA-if*h-1} \nwixadd{\nwixu }{buf2}{NWgetA-if*h-1} \nwixadd{\nwixu }{buf:unsize}{NWgetA-if*h-1} \nwixadd{\nwixu }{checkptr}{NWgetA-if*h-1} \nwixadd{\nwixu }{malloc}{NWgetA-if*h-1} \newsublabel{NWgetA-if*z-1}{{}{64}} \nwixadd{\nwixu }{buf1}{NWgetA-if*z-1} \nwixadd{\nwixu }{buf:unsize}{NWgetA-if*z-1} \nwixadd{\nwixu }{columnwidth}{NWgetA-if*z-1} \@writefile{toc}{\string\contentsline\space {subsection}{\string\numberline\space {4.2}Managing indentation and columns}{65}} \newsublabel{NWcolA-hea6-M}{{}{65}} \nwixadd{\nwixd }{tabsize}{NWcolA-hea6-M} \nwixadd{\nwixu }{columnwidth}{NWcolA-hea6-M} \nwixadd{\nwixu }{indent:unfor}{NWcolA-hea6-M} \nwixadd{\nwixu }{limitcolumn}{NWcolA-hea6-M} \newsublabel{NWcolA-*-T}{{}{65}} \nwixadd{\nwixu }{tabsize}{NWcolA-*-T} \newsublabel{NWcolA-*-U}{{}{65}} \nwixadd{\nwixd }{columnwidth}{NWcolA-*-U} \nwixadd{\nwixu }{limitcolumn}{NWcolA-*-U} \newsublabel{NWcolA-*-V}{{}{65}} \nwixadd{\nwixd }{limitcolumn}{NWcolA-*-V} \nwixadd{\nwixu }{tabsize}{NWcolA-*-V} \newsublabel{NWcolA-*-W}{{}{66}} \nwixadd{\nwixd }{indent:unfor}{NWcolA-*-W} \nwixadd{\nwixu }{tabsize}{NWcolA-*-W} \@writefile{toc}{\string\contentsline\space {subsection}{\string\numberline\space {4.3}Error messages}{67}} \newsublabel{NWerr9-*-X}{{}{67}} \newsublabel{NWerr9-hea6-N}{{}{67}} \nwixadd{\nwixd }{errorlevel}{NWerr9-hea6-N} \newsublabel{NWerr9-C*fB-K}{{}{67}} \nwixadd{\nwixu }{errorlevel}{NWerr9-C*fB-K} \newsublabel{NWerr9-hea6-O}{{}{68}} \nwixadd{\nwixd }{errormsg}{NWerr9-hea6-O} \nwixadd{\nwixd }{overflow}{NWerr9-hea6-O} \nwixadd{\nwixd }{impossible}{NWerr9-hea6-O} \nwixadd{\nwixd }{checkptr}{NWerr9-hea6-O} \nwixadd{\nwixu }{errorlevel}{NWerr9-hea6-O} \newsublabel{NWerr9-C*fB-L}{{}{68}} \nwixadd{\nwixd }{errormsg}{NWerr9-C*fB-L} \nwixadd{\nwixu }{errorlevel}{NWerr9-C*fB-L} \newsublabel{NWerr9-hea6-P}{{}{68}} \nwixadd{\nwixu }{errorat}{NWerr9-hea6-P} \nwixadd{\nwixu }{errorlevel}{NWerr9-hea6-P} \newsublabel{NWerr9-C*fB-M}{{}{68}} \nwixadd{\nwixd }{errorat}{NWerr9-C*fB-M} \nwixadd{\nwixu }{errorlevel}{NWerr9-C*fB-M} \newsublabel{NWerr9-setm-1}{{}{69}} \nwixadd{\nwixu }{errorlevel}{NWerr9-setm-1} \newsublabel{NWerr9-croR-1}{{}{69}} \nwixadds{c}{{*}{NWmarB-*-1}{\nwixd {NWmarB-*-1}\nwixd {NWmarB-*-2}\nwixd {NWmar9-*-3}\nwixd {NWmai7-*-4}\nwixd {NWnotB-*-5}\nwixd {NWnotB-*-6}\nwixd {NWnotB-*-7}\nwixd {NWnotB-*-8}\nwixd {NWnotB-*-9}\nwixd {NWmat8-*-A}\nwixd {NWmnt6-*-B}\nwixd {NWmnt6-*-C}\nwixd {NWmnt6-*-D}\nwixd {NWmnt6-*-E}\nwixd {NWmodA-*-F}\nwixd {NWmodB-*-G}\nwixd {NWmodB-*-H}\nwixd {NWmodB-*-I}\nwixd {NWmodB-*-J}\nwixd {NWfinB-*-K}\nwixd {NWfinB-*-L}\nwixd {NWfinB-*-M}\nwixd {NWfinB-*-N}\nwixd {NWfinB-*-O}\nwixd {NWfinB-*-P}\nwixd {NWfinB-*-Q}\nwixd {NWrecC-*-R}\nwixd {NWgetA-*-S}\nwixd {NWcolA-*-T}\nwixd {NWcolA-*-U}\nwixd {NWcolA-*-V}\nwixd {NWcolA-*-W}\nwixd {NWerr9-*-X}\nwixd {NWstrA-*-Y}}} \nwixadds{c}{{add a trailing newline if one was missing}{NWmarB-addf-1}{\nwixu {NWmarB-copq-1}\nwixd {NWmarB-addf-1}}} \nwixadds{c}{{add uses to stdin, grabbing defns from stdin}{NWfinB-addi-1}{\nwixu {NWfinB-*-N}\nwixd {NWfinB-addi-1}}} \nwixadds{c}{{Allocate new tnode in **rootptr}{NWmodB-AllV-1}{\nwixu {NWmodB-*-H}\nwixd {NWmodB-AllV-1}}} \nwixadds{c}{{C functions}{NWmar9-C*fB-1}{\nwixu {NWmar9-*-3}\nwixd {NWmar9-C*fB-1}\nwixd {NWmar9-C*fB-2}\nwixd {NWmar9-C*fB-3}\nwixd {NWmar9-C*fB-4}\nwixd {NWmar9-C*fB-5}\nwixd {NWmar9-C*fB-6}\nwixd {NWmar9-C*fB-7}\nwixd {NWmar9-C*fB-8}\nwixd {NWmodA-C*fB-9}\nwixu {NWmodA-*-F}\nwixd {NWmodA-C*fB-A}\nwixd {NWmodA-C*fB-B}\nwixd {NWmodA-C*fB-C}\nwixd {NWmodA-C*fB-D}\nwixd {NWmodA-C*fB-E}\nwixd {NWmodA-C*fB-F}\nwixd {NWmodA-C*fB-G}\nwixu {NWgetA-*-S}\nwixd {NWgetA-C*fB-H}\nwixd {NWgetA-C*fB-I}\nwixd {NWgetA-C*fB-J}\nwixu {NWerr9-*-X}\nwixd {NWerr9-C*fB-K}\nwixd {NWerr9-C*fB-L}\nwixd {NWerr9-C*fB-M}}} \nwixadds{c}{{Check a bunch of ``mistake indicators''}{NWmarB-Ched-1}{\nwixu {NWmarB-copq-1}\nwixd {NWmarB-Ched-1}}} \nwixadds{c}{{complain about bad format character}{NWmodA-comZ-1}{\nwixu {NWmodA-wriW-1}\nwixd {NWmodA-comZ-1}}} \nwixadds{c}{{complain about \code {}filename\edoc {} and \code {}return\edoc {}}{NWmnt6-comg-1}{\nwixu {NWmnt6-*-E}\nwixd {NWmnt6-comg-1}}} \nwixadds{c}{{complain about opening temp file and exit}{NWfinB-comf-1}{\nwixu {NWfinB-addi-1}\nwixd {NWfinB-comf-1}}} \nwixadds{c}{{complain about writing temp file and exit}{NWfinB-comf.2-1}{\nwixu {NWfinB-addi-1}\nwixd {NWfinB-comf.2-1}}} \nwixadds{c}{{complain and correct unmatched open quote, if any}{NWmarB-comn-1}{\nwixu {NWmarB-copq-1}\nwixd {NWmarB-comn-1}}} \nwixadds{c}{{complain and \code {}return\edoc {} if \code {}root\ ==\ NULL\edoc {}}{NWmnt6-comh-1}{\nwixu {NWmnt6-*-E}\nwixd {NWmnt6-comh-1}}} \nwixadds{c}{{complain of botched code chunk}{NWnotB-comU-1}{\nwixu {NWnotB-*-7}\nwixd {NWnotB-comU-1}}} \nwixadds{c}{{convert a code line}{NWmarB-conJ-1}{\nwixu {NWmarB-copq-1}\nwixd {NWmarB-conJ-1}}} \nwixadds{c}{{convert a documentation line}{NWmarB-conS-1}{\nwixu {NWmarB-copq-1}\nwixd {NWmarB-conS-1}}} \nwixadds{c}{{copy all lines from \code {}in\edoc {} to \code {}out\edoc {}, adding markup}{NWmarB-copq-1}{\nwixu {NWmarB-*-1}\nwixd {NWmarB-copq-1}}} \nwixadds{c}{{copy module name into \code {}modname\edoc {}}{NWnotB-copX-1}{\nwixu {NWnotB-*-7}\nwixd {NWnotB-copX-1}}} \nwixadds{c}{{Create a new goto entry and attach to \code {}q\edoc {}'s move list}{NWrecC-Cret-1}{\nwixu {NWrecC-FunK-3}\nwixd {NWrecC-Cret-1}}} \nwixadds{c}{{Create an entry for \code {}root[c]\edoc {}}{NWrecC-CreV-1}{\nwixu {NWrecC-FunK-3}\nwixd {NWrecC-CreV-1}}} \nwixadds{c}{{crock for non-ANSI machines}{NWerr9-croR-1}{\nwixd {NWerr9-croR-1}}} \nwixadds{c}{{data definitions}{NWmar9-datG-1}{\nwixu {NWmar9-*-3}\nwixd {NWmar9-datG-1}\nwixd {NWmar9-datG-2}}} \nwixadds{c}{{Double the size of the \code {}depths\edoc {} array}{NWrecC-Doud-1}{\nwixu {NWrecC-Cret-1}\nwixd {NWrecC-Doud-1}}} \nwixadds{c}{{emit index definitions and index newline}{NWmarB-emie-1}{\nwixu {NWmarB-copq-1}\nwixd {NWmarB-emie-1}}} \nwixadds{c}{{Error exit from getmodname}{NWmar9-ErrQ-1}{\nwixu {NWmar9-C*fB-4}\nwixd {NWmar9-ErrQ-1}}} \nwixadds{c}{{error exit from \code {}starts\_code\edoc {}}{NWmar9-errV-1}{\nwixu {NWmar9-C*fB-4}\nwixd {NWmar9-errV-1}}} \nwixadds{c}{{expand a module}{NWmodA-expF-1}{\nwixu {NWmodA-C*fB-D}\nwixd {NWmodA-expF-1}}} \nwixadds{c}{{expand \code {}root\edoc {} onto \code {}fp\edoc {} and close the file}{NWmnt6-expk-1}{\nwixu {NWmnt6-*-E}\nwixd {NWmnt6-expk-1}}} \nwixadds{c}{{Exported prototypes}{NWrecC-ExpJ-1}{\nwixu {NWrecC-hea6-K}\nwixd {NWrecC-ExpJ-1}\nwixd {NWrecC-ExpJ-2}\nwixd {NWrecC-ExpJ-3}}} \nwixadds{c}{{Exported type definitions}{NWrecC-ExpP-1}{\nwixu {NWrecC-hea6-K}\nwixd {NWrecC-ExpP-1}\nwixd {NWrecC-ExpP-2}}} \nwixadds{c}{{first time through, assert we got the length right}{NWmar9-firo-1}{\nwixu {NWmar9-C*fB-2}\nwixd {NWmar9-firo-1}}} \nwixadds{c}{{Function declarations}{NWnotB-FunL-1}{\nwixu {NWnotB-*-6}\nwixd {NWnotB-FunL-1}\nwixd {NWnotB-FunL-2}\nwixu {NWmodA-*-F}\nwixd {NWmodA-FunL-3}\nwixd {NWmodA-FunL-4}\nwixu {NWmodB-*-G}\nwixd {NWmodB-FunL-5}}} \nwixadds{c}{{Function definitions}{NWrecC-FunK-1}{\nwixu {NWrecC-*-R}\nwixd {NWrecC-FunK-1}\nwixd {NWrecC-FunK-2}\nwixd {NWrecC-FunK-3}\nwixd {NWrecC-FunK-4}\nwixd {NWrecC-FunK-5}\nwixd {NWrecC-FunK-6}}} \nwixadds{c}{{Goto the next state}{NWrecC-GotJ-1}{\nwixu {NWrecC-FunK-5}\nwixd {NWrecC-GotJ-1}}} \nwixadds{c}{{handle argument in argument \code {}i\edoc {}}{NWmai7-hanX-1}{\nwixu {NWmai7-proM-1}\nwixd {NWmai7-hanX-1}}} \nwixadds{c}{{handle option in argument \code {}i\edoc {}}{NWmai7-hanV-1}{\nwixu {NWmai7-proM-1}\nwixd {NWmai7-hanV-1}}} \nwixadds{c}{{handle option in \code {}argv[i]\edoc {}}{NWmnt6-hanS-1}{\nwixu {NWmnt6-*-B}\nwixd {NWmnt6-hanS-1}}} \nwixadds{c}{{handle \code {}-t\edoc {}}{NWmarB-hanD-1}{\nwixu {NWmarB-*-2}\nwixd {NWmarB-hanD-1}}} \nwixadds{c}{{header}{NWmar9-hea6-1}{\nwixd {NWmar9-hea6-1}\nwixd {NWmar9-hea6-2}\nwixd {NWmar9-hea6-3}\nwixd {NWmar9-hea6-4}\nwixd {NWmar9-hea6-5}\nwixd {NWmar9-hea6-6}\nwixd {NWmar9-hea6-7}\nwixd {NWmar9-hea6-8}\nwixd {NWnotB-hea6-9}\nwixd {NWnotB-hea6-A}\nwixd {NWmat8-hea6-B}\nwixd {NWmodA-hea6-C}\nwixd {NWmodA-hea6-D}\nwixd {NWmodA-hea6-E}\nwixd {NWmodA-hea6-F}\nwixd {NWmodA-hea6-G}\nwixd {NWmodA-hea6-H}\nwixd {NWmodA-hea6-I}\nwixd {NWmodB-hea6-J}\nwixu {NWrecC-*-R}\nwixd {NWrecC-hea6-K}\nwixd {NWgetA-hea6-L}\nwixd {NWcolA-hea6-M}\nwixd {NWerr9-hea6-N}\nwixd {NWerr9-hea6-O}\nwixd {NWerr9-hea6-P}\nwixd {NWstrA-hea6-Q}}} \nwixadds{c}{{if \code {}buf1==NULL\edoc {}, allocate initial buffers}{NWgetA-if*h-1}{\nwixu {NWgetA-C*fB-I}\nwixd {NWgetA-if*h-1}}} \nwixadds{c}{{if \code {}columnwidth(buf1)\ >\ buf\_size\ -\ 1\edoc {}, allocate new buffers}{NWgetA-if*z-1}{\nwixu {NWgetA-C*fB-J}\nwixd {NWgetA-if*z-1}}} \nwixadds{c}{{if file \code {}filename\edoc {} is as file \code {}tempname\edoc {}, remove \code {}tempname\edoc {} and \code {}return\edoc {}}{NWmnt6-if*1I-1}{\nwixu {NWmnt6-*-E}\nwixd {NWmnt6-if*1I-1}}} \nwixadds{c}{{if \code {}line==NULL\edoc {} die of premature end of file}{NWnotB-if*k-1}{\nwixu {NWnotB-*-7}\nwixu {NWnotB-*-9}\nwixd {NWnotB-if*k-1}}} \nwixadds{c}{{if \code {}mp\edoc {} is an ancestor, complain and return}{NWmodA-if*j-1}{\nwixu {NWmodA-C*fB-D}\nwixd {NWmodA-if*j-1}}} \nwixadds{c}{{Include files}{NWrecC-IncD-1}{\nwixu {NWrecC-*-R}\nwixd {NWrecC-IncD-1}\nwixd {NWrecC-IncD-2}}} \nwixadds{c}{{local prototypes}{NWmnt6-locG-1}{\nwixu {NWmnt6-*-B}\nwixd {NWmnt6-locG-1}\nwixd {NWmnt6-locG-2}\nwixd {NWmnt6-locG-3}\nwixu {NWfinB-*-M}\nwixd {NWfinB-locG-4}\nwixd {NWfinB-locG-5}\nwixd {NWfinB-locG-6}}} \nwixadds{c}{{Perform the callback for any outputs}{NWrecC-Pera-1}{\nwixu {NWrecC-FunK-5}\nwixd {NWrecC-Pera-1}}} \nwixadds{c}{{print a newline}{NWmodA-priF-1}{\nwixu {NWmodA-C*fB-D}\nwixd {NWmodA-priF-1}}} \nwixadds{c}{{print a string}{NWmodA-priE-1}{\nwixu {NWmodA-C*fB-D}\nwixd {NWmodA-priE-1}}} \nwixadds{c}{{process argument \code {}i\edoc {}}{NWmai7-proM-1}{\nwixu {NWmai7-*-4}\nwixd {NWmai7-proM-1}}} \nwixadds{c}{{Prototypes}{NWrecC-ProA-1}{\nwixu {NWrecC-*-R}\nwixd {NWrecC-ProA-1}}} \nwixadds{c}{{quit if we couldn't find the root}{NWnotB-quiX-1}{\nwixu {NWnotB-*-6}\nwixd {NWnotB-quiX-1}}} \nwixadds{c}{{read identifiers to be defined from files named in \code {}argv\edoc {}}{NWfinB-reax-1}{\nwixu {NWfinB-*-N}\nwixd {NWfinB-reax-1}}} \nwixadds{c}{{read standard input into tree}{NWmnt6-reaT-1}{\nwixu {NWmnt6-*-B}\nwixd {NWmnt6-reaT-1}}} \nwixadds{c}{{remember if a newline was missing from the last line}{NWmarB-remq-1}{\nwixu {NWmarB-copq-1}\nwixd {NWmarB-remq-1}}} \nwixadds{c}{{repeat \code {}line\ =\ getline(in);\edoc {} until EOF, \code {}@defn\edoc {}, or \code {}@text\edoc {}}{NWnotB-rep13-1}{\nwixu {NWnotB-*-7}\nwixd {NWnotB-rep13-1}}} \nwixadds{c}{{save name from \code {}line\edoc {} (\code {}@file\ ...\edoc {}) into \code {}loc.filename\edoc {}}{NWnotB-savz-1}{\nwixu {NWnotB-tra1A-1}\nwixd {NWnotB-savz-1}}} \nwixadds{c}{{set \code {}errorlevel\edoc {} and print \code {}s\edoc {} with \code {}args\edoc {}}{NWerr9-setm-1}{\nwixu {NWerr9-C*fB-L}\nwixu {NWerr9-C*fB-M}\nwixd {NWerr9-setm-1}}} \nwixadds{c}{{Set \code {}q->output\edoc {} to \code {}id\edoc {} (if not already present)}{NWrecC-Setq-1}{\nwixu {NWrecC-FunK-3}\nwixd {NWrecC-Setq-1}}} \nwixadds{c}{{state and printing definitions}{NWmarB-staU-1}{\nwixd {NWmarB-staU-1}\nwixu {NWmarB-*-1}}} \nwixadds{c}{{strip final newline from p->contents}{NWmodA-stra-1}{\nwixu {NWmodA-C*fB-B}\nwixd {NWmodA-stra-1}}} \nwixadds{c}{{thismodule = {mp, parent};}{NWmodA-thiQ-1}{\nwixu {NWmodA-C*fB-D}\nwixd {NWmodA-thiQ-1}}} \nwixadds{c}{{track line numbers, then \code {}continue\edoc {} unless \code {}line\edoc {} is \code {}@begin\ code\edoc {}}{NWnotB-tra1A-1}{\nwixu {NWnotB-*-7}\nwixd {NWnotB-tra1A-1}}} \nwixadds{c}{{Type definitions}{NWrecC-TypG-1}{\nwixu {NWrecC-*-R}\nwixd {NWrecC-TypG-1}\nwixd {NWrecC-TypG-2}\nwixd {NWrecC-TypG-3}\nwixd {NWrecC-TypG-4}\nwixd {NWrecC-TypG-5}}} \nwixadds{c}{{write out all conforming roots}{NWmnt6-wriU-1}{\nwixd {NWmnt6-wriU-1}\nwixu {NWmnt6-hanS-1}}} \nwixadds{c}{{write out the line number pragma}{NWmodA-wriW-1}{\nwixu {NWmodA-C*fB-F}\nwixd {NWmodA-wriW-1}}} \nwixadds{i}{{add\_ident}{add:unident}} \nwixadds{i}{{addmodule}{addmodule}} \nwixadds{i}{{addnewline}{addnewline}} \nwixadds{i}{{add\_part}{add:unpart}} \nwixadds{i}{{addstring}{addstring}} \nwixadds{i}{{add\_use\_markers}{add:unuse:unmarkers}} \nwixadds{i}{{add\_uses\_to\_usecounts}{add:unuses:unto:unusecounts}} \nwixadds{i}{{ALPHANUM}{ALPHANUM}} \nwixadds{i}{{alphas}{alphas}} \nwixadds{i}{{append}{append}} \nwixadds{i}{{apply\_each\_module}{apply:uneach:unmodule}} \nwixadds{i}{{at\_sign}{at:unsign}} \nwixadds{i}{{buf1}{buf1}} \nwixadds{i}{{buf2}{buf2}} \nwixadds{i}{{buf\_size}{buf:unsize}} \nwixadds{i}{{Callback}{Callback}} \nwixadds{i}{{calloc}{calloc}} \nwixadds{i}{{checkptr}{checkptr}} \nwixadds{i}{{columnwidth}{columnwidth}} \nwixadds{i}{{depths}{depths}} \nwixadds{i}{{emitfile}{emitfile}} \nwixadds{i}{{emit\_if\_unused\_and\_conforming}{emit:unif:ununused:unand:unconforming}} \nwixadds{i}{{errorat}{errorat}} \nwixadds{i}{{errorlevel}{errorlevel}} \nwixadds{i}{{errormsg}{errormsg}} \nwixadds{i}{{expand}{expand}} \nwixadds{i}{{find\_escaped}{find:unescaped}} \nwixadds{i}{{first\_doc\_line}{first:undoc:unline}} \nwixadds{i}{{free}{free}} \nwixadds{i}{{getline}{getline}} \nwixadds{i}{{getline\_expand}{getline:unexpand}} \nwixadds{i}{{getmodname}{getmodname}} \nwixadds{i}{{goto\_lookup}{goto:unlookup}} \nwixadds{i}{{goto\_node}{goto:unnode}} \nwixadds{i}{{Goto\_Node}{Goto:unNode}} \nwixadds{i}{{impossible}{impossible}} \nwixadds{i}{{indent\_for}{indent:unfor}} \nwixadds{i}{{index}{index}} \nwixadds{i}{{insert}{insert}} \nwixadds{i}{{insist}{insist}} \nwixadds{i}{{is\_begin}{is:unbegin}} \nwixadds{i}{{is\_def}{is:undef}} \nwixadds{i}{{is\_end}{is:unend}} \nwixadds{i}{{is\_index}{is:unindex}} \nwixadds{i}{{is\_keyword}{is:unkeyword}} \nwixadds{i}{{limitcolumn}{limitcolumn}} \nwixadds{i}{{Location}{Location}} \nwixadds{i}{{lookup}{lookup}} \nwixadds{i}{{malloc}{malloc}} \nwixadds{i}{{mark}{mark}} \nwixadds{i}{{markup}{markup}} \nwixadds{i}{{max\_depth}{max:undepth}} \nwixadds{i}{{mod\_end}{mod:unend}} \nwixadds{i}{{modpart}{modpart}} \nwixadds{i}{{mod\_start}{mod:unstart}} \nwixadds{i}{{Module}{Module}} \nwixadds{i}{{module}{module}} \nwixadds{i}{{Move\_Node}{Move:unNode}} \nwixadds{i}{{move\_node}{move:unnode}} \nwixadds{i}{{Name\_Node}{Name:unNode}} \nwixadds{i}{{newmodpart}{newmodpart}} \nwixadds{i}{{newmodule}{newmodule}} \nwixadds{i}{{new\_recognizer}{new:unrecognizer}} \nwixadds{i}{{notangle}{notangle}} \nwixadds{i}{{overflow}{overflow}} \nwixadds{i}{{Parent}{Parent}} \nwixadds{i}{{parttype}{parttype}} \nwixadds{i}{{print\_index}{print:unindex}} \nwixadds{i}{{printloc}{printloc}} \nwixadds{i}{{print\_pair}{print:unpair}} \nwixadds{i}{{print\_state}{print:unstate}} \nwixadds{i}{{quote\_end}{quote:unend}} \nwixadds{i}{{quote\_start}{quote:unstart}} \nwixadds{i}{{read\_defs}{read:undefs}} \nwixadds{i}{{read\_ids}{read:unids}} \nwixadds{i}{{recognizer}{recognizer}} \nwixadds{i}{{Recognizer}{Recognizer}} \nwixadds{i}{{reject\_match}{reject:unmatch}} \nwixadds{i}{{remove\_def\_marker}{remove:undef:unmarker}} \nwixadds{i}{{remove\_final\_newline}{remove:unfinal:unnewline}} \nwixadds{i}{{root}{root}} \nwixadds{i}{{search\_for\_ident}{search:unfor:unident}} \nwixadds{i}{{seekcycle}{seekcycle}} \nwixadds{i}{{starts\_code}{starts:uncode}} \nwixadds{i}{{starts\_doc}{starts:undoc}} \nwixadds{i}{{START\_SIZE}{START:unSIZE}} \nwixadds{i}{{state}{state}} \nwixadds{i}{{stop\_adding}{stop:unadding}} \nwixadds{i}{{strchr}{strchr}} \nwixadds{i}{{strcpy}{strcpy}} \nwixadds{i}{{strlen}{strlen}} \nwixadds{i}{{SYMBOLS}{SYMBOLS}} \nwixadds{i}{{syms}{syms}} \nwixadds{i}{{tabsize}{tabsize}} \nwixadds{i}{{tempnam}{tempnam}} \nwixadds{i}{{unescape}{unescape}} \nwixadds{i}{{warn\_dots}{warn:undots}} \nwixadds{i}{{write\_index\_use}{write:unindex:unuse}} \bibstyle{plain} \bibdata{web} \bibcite{aho:efficient}{1} \newsublabel{NWstrA-hea6-Q}{{}{70}} \newsublabel{NWstrA-*-Y}{{}{70}} \nwixadd{\nwixu }{checkptr}{NWstrA-*-Y} \nwixadd{\nwixu }{malloc}{NWstrA-*-Y} \nwixadd{\nwixu }{strcpy}{NWstrA-*-Y} \nwixadd{\nwixu }{strlen}{NWstrA-*-Y} \@writefile{toc}{\string\contentsline\space {section}{\string\numberline\space {5}List of all chunks from all files}{70}} \@writefile{toc}{\string\contentsline\space {section}{\string\numberline\space {6}Index}{72}}